1. Field of the Invention
The present invention relates to a cross table analysis display and more specifically, a technique of displaying cross table analysis of metadata tables provided in digital broadcast streams so as to view and check easily the consistencies and correctness of these tables.
2. Discussion of Background Art
As known, a digital television (DTV) broadcast stream is composed of a sequence of MPEG-2 transport stream packets. The broadcast stream may contain multiple virtual channels. Some of the virtual channels may be video channels, which contain a video stream and possibly one or more audio and/or data streams. Some may be audio channels, which contain at least one audio stream and possibly additional audio and/or data streams. Some may be data channels, which contain one or more data streams, but no video or audio. In the header of each transport stream packet there is a PID (packet identifier) field that identifies which stream that packet belongs to. A sequence of packets with a given PID value is often called a PID stream.
A DTV broadcast stream also contains some metadata that provide information about the virtual channels in the broadcast and the programming in those virtual channels. For ATSC DTV broadcasts, these metadata are defined in the MPEG-2 Systems Standard and the ATSC PSIP Standard. The PSI (Program Specific Information) tables defined in the MPEG-2 Systems Standard provide basic tuning information that allows a receiver to find out about the various virtual channels and their components. The PSIP (Program and System Information Protocol) tables defined in the ATSC PSIP Standard provide additional tuning information, plus other information that can be used by a broadcaster for branding and promotional purposes.
The PSI tables and the PSIP tables both list the virtual channels in the broadcast stream, identify the PID streams that make up each virtual channel, and give some information about these PID streams, such as the type of each stream (video, audio, or data). They also give the language of the audio streams, so that a receiver can select the language stream that matches the viewer preferences, as specified by the user during the set-up of the receiver.
The PSIP tables also provide information about the closed caption services, information about the content advisory rating (so-called “V-chip” rating) of the current programming, and information that allows viewers to select virtual channels by virtual channel number, rather than physical broadcast band. The PSIP tables also carry a short channel name, up to seven characters long, that will typically be displayed by receivers on the screen for several seconds when a viewer selects the channel, and will be used along with the virtual channel number to identify the channel in the receiver's on-screen electronic program guide (EPG), thereby helping broadcasters leverage their investment in branding their call letters.
As known, the MPEG-2 Systems Standard defines two primary PSI tables that are used for receivers to navigate through the virtual channels in the broadcast stream, and they are the PAT (Program Association Table) and the PMT (Program Map Table). The PAT contains a list of all the MPEG-2 programs (virtual channels) in the broadcast stream, and gives for each one its identifying program number and the PID stream where its PMT section can be found. The program number is a more or less arbitrary integer that acts as a unique identifier of the virtual channel within the broadcast stream.) The PAT also contains the transport stream id (TSID) of the broadcast stream, to uniquely identify it. The PAT itself is generally always in the PID stream with a PID value of 0, so receivers can always find it. The PAT is required to appear in the broadcast stream at least once every 100 milliseconds according to the MPET-2 Systems Standard.
The PMT is made up of a number of sections, one for each virtual channel in the broadcast stream. For ATSC broadcasts, each PMT section is in a separate PID stream. Each PMT section gives the program number for its virtual channel and lists all the program elements (PID streams) in the virtual channel. For each program element it gives the PID for the packets where it can be found and gives its stream type (video, audio, data). For any virtual channel that has a clock rate associated with it (video channels, audio channels, and some data-only channels), the PMT section also tells which PID stream contains the Program Clock Reference (PCR) values that are used to lock the receiver's decoding clock rate to the encoder clock rate. There may also be descriptors associated with the entire virtual channel or with individual program elements, giving additional information about the virtual channel and its components. Generally each PMT section is required to appear in the broadcast stream at least once every 400 milliseconds according to the MPET-2 Systems Standard.
The ATSC PSIP Standard and the ATSC Data Broadcast Standard define nine (9) PSIP tables that give various types of information about the broadcast stream: the MGT, STT, VCT, EIT, DET, ETT, DCCT, DCCSCT, and RRT. A brief discussion of each of these tables is provided below. All these tables and their interrelationships are known.
MGT (Master Guide Table)
The MGT serves as a roadmap to the other PSIP tables. For each table except the STT it gives the table's size and version number, and gives the PID stream where it can be found. If any PSIP table except the STT changes, then its version number in the MGT changes, and so the version number of the MGT changes. Thus, a receiver only needs to look at the version number field in the MGT to detect whether any PSIP tables have changed. The MGT generally always appears in the PID stream with a PID value of 0x1FFB, so receivers can always find it. Generally it is required to appear in the broadcast at least once every 150 milliseconds according to the ATSC PSIP Standard and the ATSC Data Broadcast Standard.
STT (System Time Table)
The STT gives the current UPC time, together with an indication whether daylight savings time is in effect and information as to when the next switch into or out of daylight time will take effect. It is generally always in the PID stream with a PID value of 0x1FFB and must appear in the broadcast at least once per second according to the applicable standards.
VCT (Virtual Channel Table)
As the name implies, the VCT contains information about the virtual channels in the broadcast stream. It may also optionally contain information about the broadcaster's associated analog TV channel and about virtual channels in other digital broadcast streams. The information about each virtual channel includes the short channel name, major and minor channel numbers, service type (analog TV, video DTV, audio DTV, or data-only DTV), flags indicating whether or not it is access controlled, whether or not it is currently on or off the air, and whether or not it is a hidden channel (for example, a channel intended only for test purposes, not to be tuned to by ordinary receivers), plus a Service Location Descriptor (SLD) that contains much the same information about the program elements in the channel as appears in the PMT section for the channel.
The VCT also includes some technical information about each channel that is intended for internal use by the receiver, not to be displayed to viewers. This includes the program number that appears in the associated PMT section, a source id that identifies the virtual channel uniquely within the VCT and is used to link programming information in the EITs and ETTs to the associated virtual channel, a channel TSID (transport stream ID) that is used to distinguish channels in this broadcast stream from analog channels or digital channels in other broadcast streams, and an ETM location flag that indicates whether an extended text description of the channel appears in the broadcast stream containing the VCT, or in the broadcast stream containing the channel itself (for channels in other digital broadcast streams), or is not provided at all.
The VCT also contains in its header the TSID of the transport stream in which it appears, which must match the TSID in the PAT. Generally the VCT always appears in the PID stream with a PID value of 0x1FFB, and it must appear at least once every 400 milliseconds according to the known standards.
EIT (Event Information Table)
The EIT is generally a collection of up to 128 tables, designated EIT-0 through EIT-127, each of which is in a separate PID stream. Each EIT-k in turn includes multiple EIT-k instances (sub-tables), one for each virtual channel in the broadcast stream. Each EIT-k instance contains information about the events in a single virtual channel during a x-hour period such as a 3-hour period.
The information about each event includes the title, start time, duration, ETM location flag, source id to identify the virtual channel containing the event, and an event id to identify the event itself (within the scope of the source id). It may also include a content advisory descriptor, caption service descriptor, AC-3 audio descriptor, and redistribution control descriptor. It is likely that in the near future a new standard will add a content identification descriptor to this list.
The PID for each EIT-k is given in the MGT. The PSIP Standard recommends that EIT-0 appear at least once every 500 milliseconds, but this is not required. The standard also requires that at least EIT-1 through EIT-3 be present in the broadcast stream, but no cycle time is recommended for them.
DET (Data Event Table)
The DET is exactly like the EIT, except that it is used to describe events in data services, rather than in video or audio services, and each instance has a data id, rather than an event id. The DET is required for channels whose service type is digital data service, and it may optionally be used for data-enhanced digital video or audio channels. The DET is used for data-enhanced video or audio channels only when it is desired to provide descriptions for the data service that are independent of the descriptions for the video or audio service in the same channel.
ETT (Extended Text Table)
The ETT is generally a collection of up to 257 tables. These are designated event ETT-0 through event ETT-127 (to describe events in the corresponding EITs), data ETT-0 through data ETT-127 (to describe events in the corresponding DETs), and a channel ETT (to describe virtual channels). Each of these is in a separate PID stream. Each event ETT-k or data ETT-k may include multiple ETT-k instances, one for each event in the corresponding EIT-k or DET-k; i.e., each ETT-k instance contains a textual description of a single event. The channel ETT may include multiple channel ETT instances, one for each virtual channel.
Each ETT-k instance contains a source id and an event id to identify the event, and a so-called multiple string structure that contains the textual description of the event, possibly in multiple languages. The MGT gives the PID for each event ETT-k, each data ETT-k and the channel ETT. None of the ETTs are required.
DCCT (Directed Channel Change Table)
The DCCT contains a collection of directives asking receivers to change channels, either unconditionally or based on various geographic, demographic, or viewer preference factors. Each directive contains a dcc from channel and a dcc to channel, identified by virtual channel numbers, a dcc start time and dcc end time, and a specified set of conditions that determine whether the directive should take effect or not. If the receiver is tuned to the dcc from channel, and the current time is between the dcc start time and the dcc end time, and the specified conditions are satisfied, then the receiver should switch to the dcc to channel. Every virtual channel used as a dcc from channel or dcc to channel in a DCC directive must be in the VCT according to the known standards.
DCCSCT (DCC Selection Code Table)
The DCCSCT carries general code definitions and/or state and/or county location code definitions for use in extending the original sets of codes defined in the initial version of the standard. Generally it will only be used if such extensions are needed to accommodate future versions of the standard.
RRT (Rating Region Table)
The RRT carries descriptions of the content advisory systems used to rate the events in the broadcast stream. Different countries may have different content advisory systems defined for them. ATSC has recommended that the rating system for the United States not be carried in the broadcast stream, since it is not intended to ever be modified. Thus, generally the RRT is omitted for stations whose viewing area is completely with the United States.
Television stations that are integrating PSIP/PSI (or other metadata) tables into their broadcast streams using DTV broadcast equipment such as encoders, PSIP generators and data servers, need a way to verify that the stream they are producing complies with the relevant ATSC and MPEG-2 standards, or other applicable standards. Thus, there is a great need to check the correctness and consistency of the PSIP and PSI tables according to the appropriate standards on a continuous basis. If these tables are not present in the broadcast stream, or if they are incorrect or inconsistent, receivers may act unpredictably or even lock up while tuning to a station, thereby causing errors or malfunctions in the system.
Particularly, there are several types of cross table consistency that need to be checked. One table may reference another table, in which case the presence of the referenced table in the broadcast stream must be checked. One table may reference information in another table, in which case the presence of the referenced information must be checked. A specific field of one table may contain the same information as a specific field of another table, in which case it should be verified that the information in the two fields match.